package classesBancodeDados;

import classesJpa.PessoaJpaController;
import classesJpa.exceptions.NonexistentEntityException;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.Entity;
import javax.swing.JOptionPane;

@Entity
public class Administrador extends Pessoa implements Serializable {

    public Administrador() {
        super();
    }
    
    public Administrador(String nome,
                         String sobrenome,
                         String ddn,
                         String cpf,
                         String tel1,
                         String tel2,
                         String estado,
                         String cidade,
                         String endereco) {
        super(nome, sobrenome, ddn, cpf, tel1, tel2, estado, cidade, endereco);
    }
    
    public Administrador(String nome,
                         String sobrenome,
                         String ddn,
                         String cpf,
                         String login,
                         String senha,
                         String tel1,
                         String tel2,
                         String estado,
                         String cidade,
                         String endereco){
        super(nome, sobrenome, ddn, cpf, login, senha, tel1, tel2, estado, cidade, endereco);
    }
    
    public void changeLogin(Pessoa pessoa, String login) {
        pessoa.setLogin(login);
        PessoaJpaController pessoaJpaController = new PessoaJpaController();
        try{
            pessoaJpaController.edit(pessoa);
        } catch (NonexistentEntityException ex) {
            JOptionPane.showMessageDialog(null,
                                        "Usuario nao cadastrado",
                                        "Erro",
                                        JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(Administrador.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null,
                                        "Nao foi possivel concluir a tarefa, verifique os campos e tente novamente",
                                        "Erro",
                                        JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(Administrador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void changeSenha(Pessoa pessoa, String senha) {
        pessoa.setLogin(senha);
        PessoaJpaController pessoaJpaController = new PessoaJpaController();
        try{
            pessoaJpaController.edit(pessoa);
        } catch (NonexistentEntityException ex) {
            JOptionPane.showMessageDialog(null,
                                        "Usuario nao cadastrado",
                                        "Erro",
                                        JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(Administrador.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null,
                                        "Nao foi possivel concluir a tarefa, verifique os campos e tente novamente",
                                        "Erro",
                                        JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(Administrador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
